[INFO] fetching crate copperline 0.3.0...
[INFO] testing copperline-0.3.0 against master#cced03bfd61a304243a34504618ecec86c17063f for pr-154065-2
[INFO] extracting crate copperline 0.3.0 into /workspace/builds/worker-4-tc1/source
[INFO] started tweaking crates.io crate copperline 0.3.0
[INFO] finished tweaking crates.io crate copperline 0.3.0
[INFO] tweaked toml for crates.io crate copperline 0.3.0 written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate copperline 0.3.0 on toolchain cced03bfd61a304243a34504618ecec86c17063f
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]      Locking 13 packages to latest compatible versions
[INFO] [stderr]       Adding libc v0.1.12 (available: v0.2.186)
[INFO] [stderr]       Adding nix v0.4.3 (available: v0.31.3)
[INFO] [stderr]       Adding strcursor v0.1.0 (available: v0.2.5)
[INFO] [stderr]       Adding unicode-width v0.1.14 (available: v0.2.2)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: Cargo.toml: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: `copperline` (manifest) generated 1 warning
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded strcursor v0.1.0
[INFO] [stderr]   Downloaded unicode-segmentation v0.1.3
[INFO] [stderr]   Downloaded bitflags v0.3.3
[INFO] [stderr]   Downloaded libc v0.1.12
[INFO] [stderr]   Downloaded nix v0.4.3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 796ca570414be3361320ac0ae03df48e6129ad51502483a705f37ec7680cc6e2
[INFO] running `Command { std: "docker" "start" "796ca570414be3361320ac0ae03df48e6129ad51502483a705f37ec7680cc6e2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "796ca570414be3361320ac0ae03df48e6129ad51502483a705f37ec7680cc6e2" "/opt/rustwide/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "796ca570414be3361320ac0ae03df48e6129ad51502483a705f37ec7680cc6e2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "796ca570414be3361320ac0ae03df48e6129ad51502483a705f37ec7680cc6e2" "/opt/rustwide/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: Cargo.toml: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: `copperline` (manifest) generated 1 warning
[INFO] [stderr]    Compiling encoding_index_tests v0.1.4
[INFO] [stderr]    Compiling unicode-segmentation v0.1.3
[INFO] [stderr]    Compiling bitflags v0.3.3
[INFO] [stderr]    Compiling libc v0.1.12
[INFO] [stderr]    Compiling encoding-index-tradchinese v1.20141219.5
[INFO] [stderr]    Compiling encoding-index-japanese v1.20141219.5
[INFO] [stderr]    Compiling encoding-index-korean v1.20141219.5
[INFO] [stderr]    Compiling encoding-index-simpchinese v1.20141219.5
[INFO] [stderr]    Compiling encoding-index-singlebyte v1.20141219.5
[INFO] [stderr]    Compiling strcursor v0.1.0
[INFO] [stderr]    Compiling nix v0.4.3
[INFO] [stderr]    Compiling encoding v0.2.33
[INFO] [stderr]    Compiling copperline v0.3.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/term.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 22 |         try!(flock(fd, FlockArg::LockExclusive));
[INFO] [stdout]    |         ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/term.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 34 |         try!(termios::tcsetattr(fd, termios::TCSAFLUSH, &raw));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/term.rs:24:32
[INFO] [stdout]    |
[INFO] [stdout] 24 |         let original_termios = try!(termios::tcgetattr(fd));
[INFO] [stdout]    |                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/term.rs:95:17
[INFO] [stdout]    |
[INFO] [stdout] 95 |         let n = try!(read(self.in_fd, &mut input));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/lib.rs:55:9
[INFO] [stdout]    |
[INFO] [stdout] 55 |         try!(ctx.raw.write(&buffer.get_line(ctx.prompt)));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/lib.rs:56:20
[INFO] [stdout]    |
[INFO] [stdout] 56 |         let byte = try!(try!(ctx.term.read_byte()).ok_or(Error::EndOfFile));
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/lib.rs:56:25
[INFO] [stdout]    |
[INFO] [stdout] 56 |         let byte = try!(try!(ctx.term.read_byte()).ok_or(Error::EndOfFile));
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]   --> src/lib.rs:61:26
[INFO] [stdout]    |
[INFO] [stdout] 61 |                 for _ in (0..len) {
[INFO] [stdout]    |                          ^      ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 61 -                 for _ in (0..len) {
[INFO] [stdout] 61 +                 for _ in 0..len {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:104:61
[INFO] [stdout]     |
[INFO] [stdout] 104 |                     instr::Instr::Clear                  => try!(ctx.raw.clear()),
[INFO] [stdout]     |                                                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]    --> src/lib.rs:109:26
[INFO] [stdout]     |
[INFO] [stdout] 109 |                 for _ in (0..len) {
[INFO] [stdout]     |                          ^      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 109 -                 for _ in (0..len) {
[INFO] [stdout] 109 +                 for _ in 0..len {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:202:23
[INFO] [stdout]     |
[INFO] [stdout] 202 |         let mut raw = try!(self.term.acquire_raw_mode());
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RawDecoder`
[INFO] [stdout]  --> src/parser.rs:3:36
[INFO] [stdout]   |
[INFO] [stdout] 3 | use encoding::types::{EncodingRef, RawDecoder};
[INFO] [stdout]   |                                    ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `reset` is never used
[INFO] [stdout]   --> src/buffer.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl Buffer {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn reset(&mut self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `pop` is never used
[INFO] [stdout]   --> src/history.rs:67:12
[INFO] [stdout]    |
[INFO] [stdout] 49 | impl History {
[INFO] [stdout]    | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 67 |     pub fn pop(&mut self) -> Option<String> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/buffer.rs:66:15
[INFO] [stdout]    |
[INFO] [stdout] 66 |     fn cursor(&self) -> StrCursor {
[INFO] [stdout]    |               ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |               |
[INFO] [stdout]    |               the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 66 |     fn cursor(&self) -> StrCursor<'_> {
[INFO] [stdout]    |                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.08s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nix v0.4.3
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] running `Command { std: "docker" "inspect" "796ca570414be3361320ac0ae03df48e6129ad51502483a705f37ec7680cc6e2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "796ca570414be3361320ac0ae03df48e6129ad51502483a705f37ec7680cc6e2" "/opt/rustwide/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: Cargo.toml: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: `copperline` (manifest) generated 1 warning
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/term.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 22 |         try!(flock(fd, FlockArg::LockExclusive));
[INFO] [stdout]    |         ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/term.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 34 |         try!(termios::tcsetattr(fd, termios::TCSAFLUSH, &raw));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/term.rs:24:32
[INFO] [stdout]    |
[INFO] [stdout] 24 |         let original_termios = try!(termios::tcgetattr(fd));
[INFO] [stdout]    |                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/term.rs:95:17
[INFO] [stdout]    |
[INFO] [stdout] 95 |         let n = try!(read(self.in_fd, &mut input));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/lib.rs:55:9
[INFO] [stdout]    |
[INFO] [stdout] 55 |         try!(ctx.raw.write(&buffer.get_line(ctx.prompt)));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/lib.rs:56:20
[INFO] [stdout]    |
[INFO] [stdout] 56 |         let byte = try!(try!(ctx.term.read_byte()).ok_or(Error::EndOfFile));
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/lib.rs:56:25
[INFO] [stdout]    |
[INFO] [stdout] 56 |         let byte = try!(try!(ctx.term.read_byte()).ok_or(Error::EndOfFile));
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]   --> src/lib.rs:61:26
[INFO] [stdout]    |
[INFO] [stdout] 61 |                 for _ in (0..len) {
[INFO] [stdout]    |                          ^      ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 61 -                 for _ in (0..len) {
[INFO] [stdout] 61 +                 for _ in 0..len {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:104:61
[INFO] [stdout]     |
[INFO] [stdout] 104 |                     instr::Instr::Clear                  => try!(ctx.raw.clear()),
[INFO] [stdout]     |                                                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]    --> src/lib.rs:109:26
[INFO] [stdout]     |
[INFO] [stdout] 109 |                 for _ in (0..len) {
[INFO] [stdout]     |                          ^      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 109 -                 for _ in (0..len) {
[INFO] [stdout] 109 +                 for _ in 0..len {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:202:23
[INFO] [stdout]     |
[INFO] [stdout] 202 |         let mut raw = try!(self.term.acquire_raw_mode());
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RawDecoder`
[INFO] [stdout]  --> src/parser.rs:3:36
[INFO] [stdout]   |
[INFO] [stdout] 3 | use encoding::types::{EncodingRef, RawDecoder};
[INFO] [stdout]   |                                    ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `reset` is never used
[INFO] [stdout]   --> src/buffer.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl Buffer {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn reset(&mut self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `pop` is never used
[INFO] [stdout]   --> src/history.rs:67:12
[INFO] [stdout]    |
[INFO] [stdout] 49 | impl History {
[INFO] [stdout]    | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 67 |     pub fn pop(&mut self) -> Option<String> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/buffer.rs:66:15
[INFO] [stdout]    |
[INFO] [stdout] 66 |     fn cursor(&self) -> StrCursor {
[INFO] [stdout]    |               ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |               |
[INFO] [stdout]    |               the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 66 |     fn cursor(&self) -> StrCursor<'_> {
[INFO] [stdout]    |                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling copperline v0.3.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/term.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 22 |         try!(flock(fd, FlockArg::LockExclusive));
[INFO] [stdout]    |         ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/term.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 34 |         try!(termios::tcsetattr(fd, termios::TCSAFLUSH, &raw));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/term.rs:24:32
[INFO] [stdout]    |
[INFO] [stdout] 24 |         let original_termios = try!(termios::tcgetattr(fd));
[INFO] [stdout]    |                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/term.rs:95:17
[INFO] [stdout]    |
[INFO] [stdout] 95 |         let n = try!(read(self.in_fd, &mut input));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/lib.rs:55:9
[INFO] [stdout]    |
[INFO] [stdout] 55 |         try!(ctx.raw.write(&buffer.get_line(ctx.prompt)));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/lib.rs:56:20
[INFO] [stdout]    |
[INFO] [stdout] 56 |         let byte = try!(try!(ctx.term.read_byte()).ok_or(Error::EndOfFile));
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/lib.rs:56:25
[INFO] [stdout]    |
[INFO] [stdout] 56 |         let byte = try!(try!(ctx.term.read_byte()).ok_or(Error::EndOfFile));
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]   --> src/lib.rs:61:26
[INFO] [stdout]    |
[INFO] [stdout] 61 |                 for _ in (0..len) {
[INFO] [stdout]    |                          ^      ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 61 -                 for _ in (0..len) {
[INFO] [stdout] 61 +                 for _ in 0..len {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:104:61
[INFO] [stdout]     |
[INFO] [stdout] 104 |                     instr::Instr::Clear                  => try!(ctx.raw.clear()),
[INFO] [stdout]     |                                                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]    --> src/lib.rs:109:26
[INFO] [stdout]     |
[INFO] [stdout] 109 |                 for _ in (0..len) {
[INFO] [stdout]     |                          ^      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 109 -                 for _ in (0..len) {
[INFO] [stdout] 109 +                 for _ in 0..len {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:202:23
[INFO] [stdout]     |
[INFO] [stdout] 202 |         let mut raw = try!(self.term.acquire_raw_mode());
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RawDecoder`
[INFO] [stdout]  --> src/parser.rs:3:36
[INFO] [stdout]   |
[INFO] [stdout] 3 | use encoding::types::{EncodingRef, RawDecoder};
[INFO] [stdout]   |                                    ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `reset` is never used
[INFO] [stdout]   --> src/buffer.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl Buffer {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn reset(&mut self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `pop` is never used
[INFO] [stdout]   --> src/history.rs:67:12
[INFO] [stdout]    |
[INFO] [stdout] 49 | impl History {
[INFO] [stdout]    | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 67 |     pub fn pop(&mut self) -> Option<String> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/buffer.rs:66:15
[INFO] [stdout]    |
[INFO] [stdout] 66 |     fn cursor(&self) -> StrCursor {
[INFO] [stdout]    |               ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |               |
[INFO] [stdout]    |               the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 66 |     fn cursor(&self) -> StrCursor<'_> {
[INFO] [stdout]    |                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.35s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nix v0.4.3
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] running `Command { std: "docker" "inspect" "796ca570414be3361320ac0ae03df48e6129ad51502483a705f37ec7680cc6e2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "796ca570414be3361320ac0ae03df48e6129ad51502483a705f37ec7680cc6e2" "/opt/rustwide/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr] warning: Cargo.toml: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: `copperline` (manifest) generated 1 warning
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/term.rs:22:9
[INFO] [stderr]    |
[INFO] [stderr] 22 |         try!(flock(fd, FlockArg::LockExclusive));
[INFO] [stderr]    |         ^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/term.rs:34:9
[INFO] [stderr]    |
[INFO] [stderr] 34 |         try!(termios::tcsetattr(fd, termios::TCSAFLUSH, &raw));
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/term.rs:24:32
[INFO] [stderr]    |
[INFO] [stderr] 24 |         let original_termios = try!(termios::tcgetattr(fd));
[INFO] [stderr]    |                                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/term.rs:95:17
[INFO] [stderr]    |
[INFO] [stderr] 95 |         let n = try!(read(self.in_fd, &mut input));
[INFO] [stderr]    |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/lib.rs:55:9
[INFO] [stderr]    |
[INFO] [stderr] 55 |         try!(ctx.raw.write(&buffer.get_line(ctx.prompt)));
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/lib.rs:56:20
[INFO] [stderr]    |
[INFO] [stderr] 56 |         let byte = try!(try!(ctx.term.read_byte()).ok_or(Error::EndOfFile));
[INFO] [stderr]    |                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/lib.rs:56:25
[INFO] [stderr]    |
[INFO] [stderr] 56 |         let byte = try!(try!(ctx.term.read_byte()).ok_or(Error::EndOfFile));
[INFO] [stderr]    |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stderr]   --> src/lib.rs:61:26
[INFO] [stderr]    |
[INFO] [stderr] 61 |                 for _ in (0..len) {
[INFO] [stderr]    |                          ^      ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 61 -                 for _ in (0..len) {
[INFO] [stderr] 61 +                 for _ in 0..len {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/lib.rs:104:61
[INFO] [stderr]     |
[INFO] [stderr] 104 |                     instr::Instr::Clear                  => try!(ctx.raw.clear()),
[INFO] [stderr]     |                                                             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stderr]    --> src/lib.rs:109:26
[INFO] [stderr]     |
[INFO] [stderr] 109 |                 for _ in (0..len) {
[INFO] [stderr]     |                          ^      ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 109 -                 for _ in (0..len) {
[INFO] [stderr] 109 +                 for _ in 0..len {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/lib.rs:202:23
[INFO] [stderr]     |
[INFO] [stderr] 202 |         let mut raw = try!(self.term.acquire_raw_mode());
[INFO] [stderr]     |                       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `RawDecoder`
[INFO] [stderr]  --> src/parser.rs:3:36
[INFO] [stderr]   |
[INFO] [stderr] 3 | use encoding::types::{EncodingRef, RawDecoder};
[INFO] [stderr]   |                                    ^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: method `reset` is never used
[INFO] [stderr]   --> src/buffer.rs:29:12
[INFO] [stderr]    |
[INFO] [stderr] 14 | impl Buffer {
[INFO] [stderr]    | ----------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 29 |     pub fn reset(&mut self) {
[INFO] [stderr]    |            ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: method `pop` is never used
[INFO] [stderr]   --> src/history.rs:67:12
[INFO] [stderr]    |
[INFO] [stderr] 49 | impl History {
[INFO] [stderr]    | ------------ method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 67 |     pub fn pop(&mut self) -> Option<String> {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/buffer.rs:66:15
[INFO] [stderr]    |
[INFO] [stderr] 66 |     fn cursor(&self) -> StrCursor {
[INFO] [stderr]    |               ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |               |
[INFO] [stderr]    |               the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 66 |     fn cursor(&self) -> StrCursor<'_> {
[INFO] [stderr]    |                                  ++++
[INFO] [stderr] 
[INFO] [stderr] warning: `copperline` (lib) generated 15 warnings (run `cargo fix --lib -p copperline` to apply 3 suggestions)
[INFO] [stderr] warning: `copperline` (lib test) generated 15 warnings (15 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.03s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nix v0.4.3
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/copperline-32fe39fd8ef1c7b7)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test buffer::move_and_insert_ascii ... ok
[INFO] [stdout] test buffer::move_and_insert_cjk ... ok
[INFO] [stdout] test buffer::move_and_insert_cyrillic ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests copperline
[INFO] [stderr] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stderr]   --> src/lib.rs:61:26
[INFO] [stderr]    |
[INFO] [stderr] 61 |                 for _ in (0..len) {
[INFO] [stderr]    |                          ^      ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 61 -                 for _ in (0..len) {
[INFO] [stderr] 61 +                 for _ in 0..len {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stderr]    --> src/lib.rs:109:26
[INFO] [stderr]     |
[INFO] [stderr] 109 |                 for _ in (0..len) {
[INFO] [stderr]     |                          ^      ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 109 -                 for _ in (0..len) {
[INFO] [stderr] 109 +                 for _ in 0..len {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: 2 warnings emitted
[INFO] [stderr] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "796ca570414be3361320ac0ae03df48e6129ad51502483a705f37ec7680cc6e2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "796ca570414be3361320ac0ae03df48e6129ad51502483a705f37ec7680cc6e2", kill_on_drop: false }`
[INFO] [stdout] 796ca570414be3361320ac0ae03df48e6129ad51502483a705f37ec7680cc6e2
